// OPERATIONS
var USER_ADD_MODULE = "user_add_module";
var USER_GET_MODULE_LIST = "user_get_module_list";
var USER_DEL_MODULE = "user_delete_module";

// PARAMETERS
var MODULE_ID = "moduleID";

$(document).ready(function() {
	printModuleList();
});

function doAddModule(moduleID) {
	if (xmlhttp) {
		if (moduleID == "") {
			alert("Please enter a module ID!");
		} else {
			xmlhttp.open("POST", "setup", false);
			xmlhttp.setRequestHeader("Content-Type",
					"application/x-www-form-urlencoded;");
			xmlhttp.send("operation=" + USER_ADD_MODULE + "&" + MODULE_ID + "="
					+ encodeURIComponent(moduleID));
		}
	}

	printModuleList();
}

function doDeleteModule(moduleID) {
	if (xmlhttp) {
		if (moduleID == "") {
			alert("Please enter a module ID!");
		} else {
			xmlhttp.open("POST", "setup", false);
			xmlhttp.setRequestHeader("Content-Type",
					"application/x-www-form-urlencoded;");
			xmlhttp.send("operation=" + USER_DELETE_MODULE + "&" + MODULE_ID
					+ "=" + encodeURIComponent(moduleID));
		}
	}
}

function getModuleList() {
	if (xmlhttp) {
		xmlhttp.open("POST", "setup", false);
		xmlhttp.setRequestHeader("Content-Type",
				"application/x-www-form-urlencoded;");
		xmlhttp.send("operation=" + USER_GET_MODULE_LIST);
	}

	if (xmlhttp.status == 200) {
		var modules = xmlhttp.responseXML.getElementsByTagName("MODULES")[0];
		var moduleList = new Array();
		var module;
		var moduleName;

		if (modules != null) {
			var modulesChildNodesLength = modules.childNodes.length;
			for (loop = 0; loop < modulesChildNodesLength; loop++) {
				module = modules.childNodes[loop];
				moduleName = module.firstChild.nodeValue;
				moduleList[loop] = {
					moduleName : moduleName
				};
			}
		}

		return moduleList;
	}
}

function printModuleList() {
	$("#moduleAdded").empty();

	var moduleList = new Array();
	moduleList = getModuleList();

	var count = moduleList.length;
	for ( var i = 0; i < count; i++) {
		if (moduleList[i].moduleName != "") {
			var output = "<input id=\"disabledSuccessInput\" class=\"span3 disabled\" type=\"text\" disabled=\"\" value=\""
					+ moduleList[i].moduleName
					+ "\"> <span class=\"help-inline\"><a href=\"javascript:doDeleteModule("
					+ moduleList[i].moduleName
					+ ");\" class=\"close\" id=\"deletemodule"
					+ moduleList[i].moduleName + "\">&times;</a></span>";
			$("#moduleAdded").append(output);
		}
	}
}

// var APIKey = "5ny6XumbW5GLAfGQfj7zw";
// var APIDomain = "https://ivle.nus.edu.sg/";
// var APIUrl = APIDomain + "api/Lapi.svc/";
// var LoginURL = APIDomain
// +
// "api/login/?apikey=5ny6XumbW5GLAfGQfj7zw&url=http://localhost:8888/settings.jsp";
//
// var myModuleInfo = null;
//
// //function to get the query string parameters
// var search = function() {
// var p = window.location.search.substr(1).split(/\&/), l = p.length, kv, r =
// {};
// while (l--) {
// kv = p[l].split(/\=/);
// r[kv[0]] = kv[1] || true; // if no value, just set it as true
// }
// return r;
// }();
//
// //variable to store the Authentication Token
// var Token = "";
//
// //check query string for search token
// if (search.token && search.token.length > 0 && search.token != 'undefined') {
// Token = search.token;
// }
//
// $(document).ready(function() {
// if (Token.length < 1) {
// window.location = LoginURL;
// } else {
// Populate_UserName();
// Populate_Module();
// }
// });
//
// function Populate_UserName() {
// var url = APIUrl + "UserName_Get";
//
// console.log("getting username");
// $.ajax({
// url: url,
// data: {
// apikey: APIKey,
// token: Token
// }
// complete: function() {
// console.log("lapi responded");
// console.log(arguments);
// },
// dataType: "xml"});
// return;
//	
// var response = xmlhttp.responseXML.getElementsByTagName("string")[0];
//	
// alert("Hello" + response);
//	
// $(document).ready(function(){
// $.ajax({
// type: "GET",
// url: url,
// dataType: "xml",
// success: function(xml) {
// $(xml).find('string').each(function(){
// var id = $(this).attr('id');
// var title = $(this).find('title').text();
// var url = $(this).find('url').text();
// $('<div class="items" id="link_'+id+'"></div>').html('<a
// href="'+url+'">'+title+'</a>').appendTo('#page-wrap');
// $(this).find('desc').each(function(){
// var brief = $(this).find('brief').text();
// var long = $(this).find('long').text();
// $('<div class="brief"></div>').html(brief).appendTo('#link_'+id);
// $('<div class="long"></div>').html(long).appendTo('#link_'+id);
// });
// });
// }
// });
// });
// }
//
// function Populate_Module() {
// var ModuleURL = APIUrl + "Modules?APIKey=" + APIKey + "&AuthToken=" + Token
// + "&Duration=1&IncludeAllInfo=false";
//
// // Get all the modules belonging to me
// jQuery.getJSON(ModuleURL, function(data) {
// $('#dbg_Modules').append("<span>Response: " + data + "</span>");
// myModuleInfo = data;
//
// var lbl_Module = "";
// for ( var i = 0; i < data.Results.length; i++) {
// var m = data.Results[i];
//
// // output the course code, acadyear and coursename
// lbl_Module += m.CourseCode + " " + m.CourseAcadYear + " - "
// + m.CourseName;
//
// // if there's new notifications add it in at the end
// if (m.Badge > 0)
// lbl_Module += " (" + m.Badge + ")";
//
// // put a line break
// lbl_Module += "<br />";
//
// // get the tools belonging to this module
// lbl_Module += "<span id='announcement_" + m.ID + "' />";
// lbl_Module += "<span id='forum_" + m.ID + "' />";
// lbl_Module += "<span id='workbin_" + m.ID + "' />";
// }
//
// $('#lbl_Modules').html(lbl_Module);
// });
// }
